package com.zyht.bank.wechat.utils.sms;

import java.text.SimpleDateFormat;
import java.util.Calendar;

import org.apache.commons.beanutils.BeanUtils;

import com.zyht.bank.wechat.utils.TranSequenUtil;

public class SMSUtil {

	/**
	 * 发送密码
	 */
	public static boolean singleSend(SMSVo smsVo) {
		try {
			// 参数类
			Message message = new Message();
			BeanUtils.copyProperties(message, smsVo);
			// 实例化短信处理对象
			CHttpPost cHttpPost = new CHttpPost();

			// 设置账号 将 userid转成大写,以防大小写不一致
			message.setUserid(message.getUserid().toUpperCase());

			// 判断密码是否加密。
			// 密码加密，则对密码进行加密
			if (smsVo.isEncryptPwd()) {
				SimpleDateFormat sdf = new SimpleDateFormat("MMddHHmmss");
				// 设置时间戳
				String timestamp = sdf.format(Calendar.getInstance().getTime());
				message.setTimestamp(timestamp);
				// 对密码进行加密
				String encryptPwd = cHttpPost.encryptPwd(message.getUserid(), message.getPwd(), message.getTimestamp());
				// 设置加密后的密码
				message.setPwd(encryptPwd);
			}
			// 设置手机号码 此处只能设置一个手机号码
			// 设置内容
			// 用户自定义流水编号
			message.setCustid(TranSequenUtil.createSeq());
			// 返回的平台流水编号等信息
			StringBuffer msgId = new StringBuffer();
			// 返回值
			int result = -310099;
			// 发送短信
			result = cHttpPost.singleSend(smsVo.getIp(), smsVo.getPort(), message, msgId);
			// result为0:成功;非0:失败
			if (result == 0) {
				return true;
			} else {
				return false;
			}
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
	}

}
